Add BigQuery CREATE EXTERNAL TABLE WITH PARTITION COLUMNS parsing support#66
Open
mesmacosta wants to merge 2 commits intotobilg:mainfrom
Open
Add BigQuery CREATE EXTERNAL TABLE WITH PARTITION COLUMNS parsing support#66mesmacosta wants to merge 2 commits intotobilg:mainfrom
mesmacosta wants to merge 2 commits intotobilg:mainfrom
Conversation
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
BigQuery's
CREATE EXTERNAL TABLEsyntax supports clauses likeWITH PARTITION COLUMNSandWITH CONNECTIONthat use theWITHkeyword differently from the genericWITHproperties parser. The generic parser was causing parse failures whenever column definitions or partition columns were present.Example: failing query before this fix
Fix:
WITHtoken consumption site, with a clean early returnEXTERNALto BigQuery'sspecial_modifierdialect listwith_partition_columns,with_connection)This does not affect parsing of regular BigQuery
CREATE TABLEstatements, CTEs inAS SELECT, or any other dialect'sWITHhandling — the logic only activates whentable_modifier == "EXTERNAL"ANDdialect == BigQuery.Changes
parser.rs— BigQuery EXTERNAL TABLE parsing + 19 new testsexpressions.rs— Newwith_partition_columnsandwith_connectionfields onCreateTablebuilder.rs— Builder support for new fieldsgenerator.rs— SQL generation for BigQuery EXTERNAL TABLE syntaxdialects/mod.rs— AddEXTERNALto BigQuery's special modifiersTest plan